উদাহরণ সহ BigInteger এবং BigDecimal এর মধ্যে Conversion

BigInteger এবং BigDecimal এর মধ্যে Conversion - জাভা ম্যাথ প্যাকেজ (Java.math Package) - Java Technologies

292

BigInteger এবং BigDecimal দুটি ক্লাস Java.math প্যাকেজের অংশ, যেগুলি বড় সংখ্যার সাথে কাজ করার জন্য ব্যবহৃত হয়। BigInteger ক্লাসটি বড় পূর্ণসংখ্যা (integers) পরিচালনা করতে ব্যবহৃত হয়, আর BigDecimal ক্লাসটি দশমিক সংখ্যা (decimals) নিয়ে কাজ করতে ব্যবহৃত হয়।

যখন আপনাকে BigInteger এবং BigDecimal এর মধ্যে কনভার্সন করতে হয়, তখন কিছু নির্দিষ্ট মেথড ব্যবহার করা হয়, যা আপনাকে এক ধরনের গাণিতিক সংখ্যাকে অন্য ধরনের গাণিতিক সংখ্যায় রূপান্তর করতে সাহায্য করে।

BigInteger থেকে BigDecimal এ কনভার্সন

BigInteger থেকে BigDecimal এ কনভার্সন করার জন্য, BigDecimal ক্লাসের কনস্ট্রাক্টর ব্যবহার করা হয়, যা একটি BigInteger কে BigDecimal এ রূপান্তর করে।

Syntax:

BigDecimal(BigInteger val)

Example:

import java.math.BigDecimal;
import java.math.BigInteger;

public class BigIntegerToBigDecimalExample {
    public static void main(String[] args) {
        // Create a BigInteger object
        BigInteger bigInt = new BigInteger("123456789012345678901234567890");

        // Convert BigInteger to BigDecimal
        BigDecimal bigDec = new BigDecimal(bigInt);
        
        System.out.println("BigDecimal from BigInteger: " + bigDec);
    }
}

Output:

BigDecimal from BigInteger: 123456789012345678901234567890

ব্যাখ্যা:

  • BigInteger থেকে BigDecimal-এ কনভার্সন করতে BigDecimal(BigInteger val) কনস্ট্রাক্টর ব্যবহার করা হয়েছে।
  • BigDecimal এখন পূর্ণসংখ্যার মান BigInteger থেকে দশমিকের মান হিসেবে তৈরি হয়েছে, যদিও এখানে কোন দশমিক স্থান নেই।

BigDecimal থেকে BigInteger এ কনভার্সন

BigDecimal থেকে BigInteger এ কনভার্সন করার জন্য, BigDecimal ক্লাসের toBigInteger() মেথড ব্যবহার করা হয়। এই মেথডটি BigDecimal এর ইনটিজার অংশ বের করে BigInteger এ রূপান্তর করে।

Syntax:

BigInteger toBigInteger()

Example:

import java.math.BigDecimal;
import java.math.BigInteger;

public class BigDecimalToBigIntegerExample {
    public static void main(String[] args) {
        // Create a BigDecimal object
        BigDecimal bigDec = new BigDecimal("12345.6789");
        
        // Convert BigDecimal to BigInteger
        BigInteger bigInt = bigDec.toBigInteger();
        
        System.out.println("BigInteger from BigDecimal: " + bigInt);
    }
}

Output:

BigInteger from BigDecimal: 12345

ব্যাখ্যা:

  • BigDecimal.toBigInteger() মেথড ব্যবহার করে BigDecimal এর দশমিক স্থান বাদ দিয়ে শুধুমাত্র পূর্ণসংখ্যার অংশ রিটার্ন করে BigInteger তে কনভার্সন করা হয়েছে।

BigDecimal থেকে BigInteger এ কনভার্সন (Round-off with scale)

যখন BigDecimal থেকে BigInteger কনভার্ট করা হয়, তখন ডেসিমাল পয়েন্টের পরে কিছু সংখ্যার অংশ বাদ পড়তে পারে। এই কারণে কিছু রাউন্ডিংয়ের প্রয়োজন হতে পারে। BigDecimal এর setScale() মেথড ব্যবহার করে রাউন্ডিং করা যেতে পারে।

Example with rounding:

import java.math.BigDecimal;
import java.math.BigInteger;

public class BigDecimalToBigIntegerWithRoundingExample {
    public static void main(String[] args) {
        // Create a BigDecimal object with a decimal value
        BigDecimal bigDec = new BigDecimal("12345.6789");
        
        // Round off the decimal and convert to BigInteger
        BigDecimal rounded = bigDec.setScale(0, BigDecimal.ROUND_HALF_UP);
        BigInteger bigInt = rounded.toBigInteger();
        
        System.out.println("Rounded BigInteger from BigDecimal: " + bigInt);
    }
}

Output:

Rounded BigInteger from BigDecimal: 12346

ব্যাখ্যা:

  • setScale(0, BigDecimal.ROUND_HALF_UP) ব্যবহার করে দশমিক স্থানটি রাউন্ড করা হয়েছে, এবং toBigInteger() মেথড ব্যবহার করে BigDecimal থেকে BigInteger তে কনভার্ট করা হয়েছে। রাউন্ডিংয়ের কারণে 12345.6789 থেকে 12346 হয়েছে।

  1. BigInteger to BigDecimal Conversion:
    • BigInteger থেকে BigDecimal এ কনভার্সন করার জন্য BigDecimal(BigInteger val) কনস্ট্রাক্টর ব্যবহার করা হয়।
  2. BigDecimal to BigInteger Conversion:
    • BigDecimal থেকে BigInteger এ কনভার্সন করার জন্য toBigInteger() মেথড ব্যবহার করা হয়, যা দশমিক স্থান বাদ দিয়ে শুধুমাত্র পূর্ণসংখ্যা রিটার্ন করে।
  3. Rounding Decimal Values:
    • BigDecimal থেকে BigInteger কনভার্সন করার আগে যদি প্রয়োজন হয়, তবে setScale() মেথড ব্যবহার করে রাউন্ডিং করা যেতে পারে, যা সঠিক পূর্ণসংখ্যা রিটার্ন করবে।

BigDecimal এবং BigInteger ক্লাসের মধ্যে কনভার্সন আপনাকে বড় এবং সঠিক সংখ্যার সাথে গাণিতিক কাজ করার সুবিধা দেয়, এবং এগুলো অত্যন্ত গুরুত্বপূর্ণ যখন আপনাকে বড় সংখ্যার সাথে কাজ করতে হয় বা যখন সঠিকতা গুরুত্বপূর্ণ।

Content added By
Promotion

Are you sure to start over?

Loading...